home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C / Libraries / MacWT 0.04 / turlsLibs / DirScrnWrite.h < prev    next >
Encoding:
Text File  |  1994-10-31  |  1.9 KB  |  57 lines  |  [TEXT/MMCC]

  1. //==================================================================
  2. // DirScrnWrite.h                                    <tur xx-xx-92>
  3. //
  4. //    Protos, etc., for direct screen writing.
  5. //
  6. //==================================================================
  7.  
  8. #ifndef    __DirScrnWrite__
  9. #define    __DirScrnWrite__
  10.  
  11. #ifndef    __RectUtils__
  12. #include "RectUtils.h"
  13. #endif
  14.  
  15. #ifndef __PALETTES__
  16. #include "Palettes.h"
  17. #endif
  18.  
  19. extern const Point        nullPt;
  20. extern long                *ReplicatedByteLUT;        // ReplicatedByteLUT[2] = 0x02020202, etc
  21. extern int                gPaletteColorsUsed;
  22. extern CTabHandle        gDirClut;
  23. extern PaletteHandle    gDirPalette;
  24. extern GDHandle            gTheScreenDevice;
  25.  
  26. extern void BeginDirectScreenWrite(Rect *globalRect);
  27. extern void EndDirectScreenWrite(void);
  28.  
  29. extern Boolean CanWriteDirectToScreen(WindowPtr win);
  30. extern Boolean CheckDirScrnWriteFor(WindowPtr win);
  31. extern void InitDirScrnWrite(void);
  32.  
  33.  
  34. typedef void (*PixMungeFunc)(unsigned char *destPix, unsigned char *srcPix);
  35.  
  36. extern void DirCopyPix(long *srcPixels, unsigned long srcRB, int srcWid, int srcHt,
  37.                         int winStartX, int winStartY, PixMungeFunc munge);
  38.  
  39. extern void DirCopyPixScaled2(long *srcPixels, unsigned long srcRB, int srcWid, int srcHt,
  40.                         int winStartX, int winStartY, PixMungeFunc munge);
  41.  
  42. // handy for having a variable function pointer to one of the above...
  43. typedef void (*PCopyPixFunc)(long *srcPixels, unsigned long srcRB, int srcWid, int srcHt,
  44.                         int winStartX, int winStartY, PixMungeFunc munge);
  45.  
  46. extern void NotMungeFunc(unsigned char *destPix, unsigned char *srcPix);    // NOT
  47. extern void AndMungeFunc(unsigned char *destPix, unsigned char *srcPix);    // AND
  48.                                                                             // etc...
  49.  
  50. // A function to initialise the palette and return the #colors used.
  51. typedef int (*InitPaletteFunc)(PaletteHandle ph);
  52.  
  53. extern void InitDirScrnGraphicsWindow(WindowPtr wp, InitPaletteFunc ipf);
  54. extern void TermDirScrnGraphicsWindow(WindowPtr wp);
  55.  
  56. #endif    /* __DirScrnWrite__ */
  57.